package org.example.library;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.example.reservas_mesas.usuario;

public class Restaurantes {

    Drawable drawable;
    RestauranteItemizedOverlay itemizedoverlay;
    ArrayList imagenes = new ArrayList();
    Activity actividad;
    Class<?> dactividad;
    String usuario;
 
    
    public RestauranteItemizedOverlay getRestauranteItemizedOverlay(){
        return itemizedoverlay;
    }
    
    public Restaurantes(Activity act, Class<?> dact,String usu){ 
        imagenes.add(0x7f020001);
        imagenes.add(0x7f020002);
        imagenes.add(0x7f020003);
        imagenes.add(0x7f020004);
        imagenes.add(0x7f020005);
        imagenes.add(0x7f020006);
        imagenes.add(0x7f020007);
        imagenes.add(0x7f020008);
        imagenes.add(0x7f020009);
        actividad = act;
        dactividad = dact;
        usuario = usu;
    }
    
    public void AddRestaurantes(usuario u,List<Overlay> mapOverlays){
        try {
            Invoker invoker = new Invoker();
            ServidorPHP servidor = new ServidorPHP();
            GetRestaurantes GR = new GetRestaurantes(servidor);

            invoker.SetPeticion(GR);
            invoker.Ejecuta();
            
            ArrayList<HashMap<String,String>> restaurantes = servidor.GetResultado();
            
            String Nombre = "";
            String Direccion = "";
            float coordx,coordy;
            int tipo;

            if(restaurantes != null){
                for(int i=0;i<restaurantes.size();i++){
                    Nombre = restaurantes.get(i).get("nombre");
                    Direccion = restaurantes.get(i).get("direccion");
                    coordx = Float.parseFloat(restaurantes.get(i).get("coordx"));
                    coordy = Float.parseFloat(restaurantes.get(i).get("coordy"));
                    tipo = Integer.parseInt(restaurantes.get(i).get("tipo"));
                    GeoPoint point = new GeoPoint((int)(coordy * 1E6),(int)(coordx * 1E6));
                    OverlayItem overlayitem = new OverlayItem(point, Nombre, "I'm in "+Direccion);
                    drawable = u.getResources().getDrawable((Integer)imagenes.get(tipo-1));
                    itemizedoverlay = new RestauranteItemizedOverlay(drawable,u,Integer.parseInt(restaurantes.get(i).get("id")),actividad,dactividad,usuario);
                    itemizedoverlay.addOverlay(overlayitem);
                    mapOverlays.add(itemizedoverlay);
                }
            }
            
        }catch (Exception a){}
    }
}
